iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0

今天來建置NN模型嚕,我們所建置的模型與 Kraska et al. 初步測試的模型一樣,2 層全連接層,每層32個神經元,神經元的激勵函數使用ReLU。

https://ithelp.ithome.com.tw/upload/images/20201009/2012919855TVmCu3n2.png

建置模型程式碼如下:

import keras
from keras.models import Sequential
from keras.layers import Dense

model  = Sequential()
model.add(Dense(32, input_dim=1, activation="relu"))
model.add(Dense(32, activation="relu"))
model.add(Dense(1))

sgd=keras.optimizers.SGD(lr=0.0001)    # lr:學習率,可調參數
model.compile(loss="mse", optimizer=sgd, metrics=["mse"])
model.fit(x, y, epochs=1000, batch_size=32, verbose=0)  # x:訓練資料, y:訓練目標

完整程式碼在 J Code

我們將建置的NN模型,訓練隨機產生資料(100筆,範圍1~1000)的CDF,並看訓練完的預測結果與原本CDF分布的差異性。

我們隨機產生資料的方法,使用 Numpy 的 random_integers,隨機產生一維 Array的資料並排序,將資料先轉換成CDF,NN模型再進行訓練。

測試結果如下 :

跟前天使用SLR測試結果來看,NN 模型比較擬合於CDF分布。

https://ithelp.ithome.com.tw/upload/images/20201009/201291985uWLtnq7Do.png

明天進行不同Model配置的比較 ~ 掰噗 !

https://ithelp.ithome.com.tw/upload/images/20201009/20129198lUalR28r8y.png


上一篇
Day 23 - NN 介紹
下一篇
Day 25 - 比較不同 Model 的測試
系列文
索引結構與機器學習的相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言